﻿<?php
/*******************************************************************
 * ServiceNamespace.php
 * Copyright (C) 2006-2007 Midnight Coders, LLC
 *
 * The contents of this file are subject to the Mozilla Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 * 
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific language governing rights and limitations
 * under the License.
 * 
 * The Original Code is WebORB Presentation Server (R) for PHP.
 * 
 * The Initial Developer of the Original Code is Midnight Coders, LLC.
 * All Rights Reserved.
 ********************************************************************/

class ServiceNode
{
    var $Name;
    var $Parent;
    var $Items = array();
    
    public function __construct()
    {
    }
    
    public function IsService()
    {
        return get_class($this) == "Service";
    }

    public function IsNamespace()
    {
        return get_class($this) == "ServiceNamespace"; 
    }
    
    public function AddChildNode($serviceNode)
    {
        $this->Items[] = $serviceNode;
    }

    public function getFullName()
    {
        $serviceNode = $this->Parent;
        $fullName = $this->Name;
        
        while($serviceNode!=null)
        {
            $fullName = $serviceNode->Name.".".$fullName;
            $serviceNode = $serviceNode->Parent;
        }
        
        return $fullName;
    }
	
    public function getPath()
    {
    	$serviceNode = $this->Parent;
        $fullName = "";
        
        while($serviceNode != null)
        {
            $fullName = $serviceNode->Name . "." . $fullName;
            $serviceNode = $serviceNode->Parent;
        }
        
        return $fullName;	
    }

}

?>
